home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C128
/
Monthly Disks
/
(y)aca.d64
/
diskdoc.doc
next >
Wrap
Text File
|
2007-02-04
|
32KB
|
559 lines
---------------------------------------------------------------------
╘ H E ─ ╔ ╙ ╦ ─ ╧ ├ ╘ ╧ ╥
---------------------------------------------------------------------
─╔╙╦ ╒╘╔╠╔╘┘ ╨╥╧╟╥┴═ ╞╧╥ ╘╚┼ ├╧══╧─╧╥┼ ╓╔├-20, ├-64 ┴╬─ ├-128
─OCUMENTATION WRITTEN BY ╦EVIN ╚ISEL
╫ITH SPECIAL THANKS TO ═IKE ╫ILLIS
╘HE ─╔╙╦ ─╧├╘╧╥ PROGRAM WITH VERSIONS FOR THE ├OMMODORE ╓╔├-20 (OF ANY SIZE
MEMORY), ├-64 AND ├-128 IS ONE OF THE MOST POWERFUL DISK UTILITIES THAT YOU
WILL EVER OWN. ╔T ALLOWS YOU TO NOT ONLY VIEW BUT CHANGE ANY BYTE OF DATA
STORED ON ANY OF YOUR 1540, 1541, 1570, 1571, 4040 AND COMPATIBLE DISKETTES.
╫ITH ╘HE ─╔╙╦ ─╧├╘╧╥ YOU CAN PERFORM TASKS THAT NORMALLY WOULD INVOLVE HOURS
OF PROGRAMMING, ACTUALLY REPAIR "CRASHED" DISK DATA AND HAVE A LITTLE FUN ALL
AT THE SAME TIME. ┬EFORE WE DO HAVE ALL THIS FUN, WE'LL HAVE TO TAKE A LOOK
AT HOW ├OMMODORE HAS SET UP THE FORMAT OF THEIR DISKS. ╫E'LL LIMIT OUR
DISCUSSION TO WHAT IS REFERRED TO AS THE ├OMMODORE "╟├╥" FORMAT. ╘HAT'S THE
FORMAT NORMALLY USED ON 1540, 1541, 1570, 1571, 4040, ═╙─ AND SOME OTHER
├OMMODORE "WORK ALIKE" MACHINES AND DISKS. ╘HERE ARE OTHER ├OMMODORE ╟├╥
FORMATS LIKE THAT USED ON OLDER MACHINES LIKE THE 8050, 8250, ╙╞─-1001 AND
EVEN A SPECIAL FORMAT FOR ├╨/═ BUT WHILE YOU CAN READ AND MODIFY THESE TYPES
WITH ╘HE ─╔╙╦ ─╧├╘╧╥, WE WILL NOT REALLY DELVE TOO DEEP INTO THEM AT THIS
TIME.
╔F YOU COULD SEE THE ACTUAL MAGNETIC PATTERNS ON THE DISKETTE, YOU WOULD
NOTICE THAT THAT THERE ARE 35 CONCENTRIC TRACKS OF DATA ARRANGED SOMEWHAT LIKE
A PHONOGRAPH RECORD EXCEPT THAT THE 35 TRACKS DO NOT LEAD INTO ONE ANOTHER.
╒NTIL RECENTLY, THE STANDARD ├OMMODORE FORMAT ONLY ALLOWED USE OF A SINGLE
SIDE OF THE DISKETTE. ╘HE NEW 1571 DISK DRIVE IS ACTUALLY DOUBLE-SIDED AND
CAN STORE TWICE AS MUCH INFORMATION AS A SINGLE-SIDED DRIVE BY PLACING AN
ADDITIONAL 35 TRACKS ON THE OPPOSITE SIDE OF THE DISKETTE. ╔F YOU SQUINTED
YOUR EYES A LITTLE HARDER YOU WOULD SEE THAT EACH TRACK IS SECTIONED OFF INTO
SMALLER PIECES WHICH WE CALL SECTORS OR BLOCKS (A SECTOR IS THE SAME AS A
BLOCK.) ┬ECAUSE THE OUTERMOST TRACK (TRACK #1) IS MUCH LARGER OR LONGER THAN
THE INNERMOST TRACK (TRACK #35), IT CONTAINS MORE SECTORS OR BLOCKS. ╔N FACT,
HERE IS HOW IT BREAKS DOWN (THE TRACK NUMBERS SHOWN IN PARENTHESIS APPLY TO
THE SECOND SIDE OF DOUBLE-SIDED DISKS):
╘╥┴├╦# ╙┼├╘╧╥#╙
&1-17 (36-52) 0-20 (21 ╘╧╘┴╠)
18-24 (53-59) 0-18 (19 ╘╧╘┴╠)
25-30 (60-65) 0-17 (18 ╘╧╘┴╠)
31-35 (66-70) 0-16 (17 ╘╧╘┴╠)
┼ACH SECTOR HOLDS 256 BYTES OF DATA. ╠ET'S SEE...THAT'S 17*21 + 7*19 + 6*18 +
5*17 = 683 SECTORS * 256 BYTES IN EACH SECTOR...YES THAT'S 174,848 BYTES OF
STORAGE ON A SINGLE-SIDED DISKETTE (DOUBLE THAT FIGURE FOR DOUBLE SIDED
DISKS.) ╘HE DRIVE NEEDS SOME OF THAT SO THE REAL "USER AVAILABLE" SPACE IS
ACTUALLY SOMEWHERE AROUND 168,656 FOR SINGLE-SIDED DISKS AND 337,312 FOR
DOUBLE-SIDED DISKS. ├OMPARED TO OTHER "SINGLE DENSITY" 5 1/4 INCH DISKETTE
FORMATS, THIS FIGURE IS QUITE IMPRESSIVE.
╠ET'S LOOK AT THE FIRST SECTOR OF DATA, TRACK 18 AND SECTOR 0. ╘HE DISK DRIVE
STARTS STORING ITS DATA HERE, IN THE MIDDLE OF THE DISKETTE, TO SPEED UP ITS
OPERATION. ╔F YOU HAVE ╘HE ─╔╙╦ ─╧├╘╧╥ PROGRAM, ╠╧┴─ AND ╥╒╬ IT NOW. ┘OU
DON'T NEED IT FOR THIS DISCUSSION, BUT IT SURE WILL HELP. ╚IT ANY KEY TO
START UP THEN ENTER "18" FOR THE TRACK AND "0" FOR THE SECTOR. ╘HE SCREEN
WILL FILL WITH WHAT LOOKS LIKE SEMI-GIBBERISH. ┘OU ARE NOW LOOKING AT A
SINGLE SECTOR OF DISKETTE DATA. ╔F YOU HAVE THE ├-64 OR ├-128 VERSION OF ╘HE
─╔╙╦ ─╧├╘╧╥, A LIST OF ONE KEY COMMANDS AVAILABLE TO YOU ARE DISPLAYED ALONG
WITH A SHORT DEFINITION OF EACH COMMAND. ╘HE ╓╔├-20 VERSION DISPLAYS JUST THE
ONE KEY COMMANDS BECAUSE OF ITS SMALLER SCREEN, BUT PRESSING "╚" DISPLAYS A
╚┼╠╨ SCREEN IF YOU FORGET WHAT THESE COMMANDS ARE. ╫E WILL SEE HOW TO USE ALL
OF THESE POWERFUL COMMANDS LATER IN THIS DISCUSSION.
┘OU ARE NOW LOOKING AT A SPECIAL SECTOR WHERE THE DRIVE STORES IT'S ┬LOCK
┴VAILABILITY ═AP (┬┴═) AND OTHER INFORMATION ABOUT THE DISKETTE. ╘HIS SECTOR
IS THE FIRST SECTOR IN THE FILE THAT HOLDS THE DISKETTE'S DIRECTORY AND IS
GENERALLY REFERRED TO AS THE "DIRECTORY HEADER". ╙UBSEQUENT DIRECTORY SECTORS
CONTAIN THE NAMES AND OTHER DATA PERTAINING TO THE REMAINING FILES ON THE
DISKETTE.
╬OTICE THAT YOUR CURSOR IS IN THE UPPER LEFT CORNER OF THE SCREEN. ╒SE THE
CURSOR CONTROL KEYS TO MOVE THE CURSOR AROUND. ╘WO INDICATORS, "VALUE" AND
"POSITION", WILL CHANGE AS THE CURSOR MOVES AROUND THE SCREEN. ┴S YOU MAY
RECALL, EACH SECTOR CONTAINS 256 BYTES WHICH ARE NUMBERED (BY THEIR POSITION)
FROM 0 TO 255. ╔F YOU TAP THE ╚╧═┼ KEY THE CURSOR'S POSITION SHOULD BE 0. ┴
"CURSOR LEFT" WILL CAUSE THE CURSOR TO "WRAP AROUND" TO THE LAST SPACE IN THE
SECTOR AND SHOULD YIELD A POSITION OF 255.
╨RESS ╚╧═┼ AGAIN AND NOTICE THE VALUE OF THE BYTE IN POSITION 0. ╔T SHOULD BE
18. ╘HE VALUE OF THE BYTE IN POSITION 1 SHOULD BE 1. ╘HE FIRST TWO BYTES OF
EVERY SECTOR ON THE DISK ARE "POINTERS". ╘HEY TELL THE DRIVE WHERE THE NEXT
TRACK AND SECTOR OF THE DIRECTORY FILE (THE ONE WE'RE LOOKING AT NOW) IS
LOCATED. ╘HE NEXT TRACK AND SECTOR IS TRACK 18, SECTOR 1. ╘HE BYTE IN
POSITION 2 WILL HAVE A VALUE OF 65 WHICH IS DISPLAYED BY ╘HE ─╔╙╦ ─╧├╘╧╥ AS AN
┴. ╘HIS TELLS THE DRIVE WHICH ├OMMODORE DISK FORMAT THE DISK IS. ╔F THIS
BYTE IS ANYTHING OTHER THAN AN ┴ (OR 65) THEN YOUR DRIVE WILL REFUSE WRITE TO
IT. ╔T WILL READ FINE, BUT IT WILL NOT WRITE. ╘HE NEXT BYTE, #3 IS USED TO
TELL A DOUBLE-SIDED DRIVE WHETHER OR NOT THE DISKETTE HAS BEEN FORMATTED AS A
DOUBLE-SIDED DISKETTE. ╔F IT IS SINGLE-SIDED THE VALUE OF THE BYTE IN THIS
POSITION WILL BE ZERO. ╞OR DOUBLE-SIDED, THE BYTE WILL HAVE A VALUE OF 128.
╨OSITIONS 4-143 CONTAIN THE ┬LOCK ┴VAILABILITY ═AP OR "┬┴═". ─ON'T EXPECT TO
BE ABLE TO MAKE SENSE OF THE ┬┴═ BY SIMPLY VIEWING IT ON YOUR SCREEN (ALTHOUGH
SOME VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ TRANSLATE EACH ENTRY INTO A SMALL CHART
DISPLAYED ELSEWHERE ON THE SCREEN.) ╔T IS PLACED HERE BY THE DRIVE IN THE
FORM OF BINARY NUMBERS. ╘HE ┬┴═ IS LIKE A ROAD MAP FOR THE DISK DRIVE. ╔T
TELLS THE DRIVE WHICH SECTORS HOLD VALID DATA AND WHICH ONES ARE FREE TO WRITE
TO. ╫HEN YOU USE THE ╓┴╠╔─┴╘┼ OR ├╧╠╠┼├╘ COMMAND THE DRIVE REORGANIZES ITS
┬┴═. ─ON'T EVER TRY TO ALTER THE ┬┴═ UNLESS YOU REALLY KNOW WHAT YOU ARE
DOING. ┘OU CAN REALLY MESS THINGS UP BY PLAYING AROUND HERE. ╥EMEMBER THAT
╘HE ─╔╙╦ ─╧├╘╧╥ DOES NOT COME WITH MALPRACTICE INSURANCE!
═OVE YOUR CURSOR TO POSITION 144. ╘HINGS HERE MAY LOOK A BIT FAMILIAR.
╘HAT'S RIGHT, YOU ARE LOOKING AT THE DISK'S NAME. ╘HE DISK NAME IS STORED AT
POSITIONS 144-159. ┬YTES #160 AND #161 WILL BE SHIFTED SPACES (VALUE 160.)
┬YTES #162 AND #163 CONTAIN THE DISK'S ╔─ CHARACTERS. ╘HOSE ARE THE TWO
CHARACTERS YOU GIVE AFTER THE DISK NAME WHEN YOU FORMAT A DISK. ┴NOTHER
SHIFTED SPACE IS AT #164 AND THE NEXT TWO BYTES (165,166) CONTAIN THE ─╧╙
VERSION IDENTIFIER- 2┴. ┬YTES #167-170 HAVE SHIFTED SPACES AND #171-255 ARE
ALL UNUSED AND CONTAIN VALUES OF 0, WHICH ARE DISPLAYED AS "@"'S ("AT" SIGNS)
ON SINGLE-SIDED DISKS. ┬YTES #221-225 ARE USED ON DOUBLE-SIDED DISKS TO STORE
THE NUMBER OF SECTORS THAT ARE "FREE" IN TRACKS 36-70. ╞OR INSTANCE, IF THE
BYTE IN POSITION #221 CONTAINS VALUE OF FIVE, THAT MEANS THAT FIVE SECTORS IN
TRACK 36 ARE UNUSED RIGHT NOW.
╘RACK 18, ╙ECTOR 0 (┬┴═ AND ─IRECTORY ╚EADER)
---------------------------------------------
┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
------------------------------------------------------------------
0,1..... 18,1.... ╘RACK AND SECTOR OF NEXT BLOCK IN FILE.
2....... 65...... ├HARACTER "┴" - 1540/1541/4040 FORMAT.
3....... 0/128... ╞LAG FOR SINGLE/DOUBLE SIDED MODE.
4-143............ ┬IT MAP OF AVAILABLE SECTORS (┬┴═.)
144-161.......... ─ISK NAME WITH SHIFTED SPACES.
162,163.......... ╘WO DISK ╔─ CHARACTERS.
164..... 160..... ╙HIFTED SPACE.
165,166 50,65... ├HARACTERS "2┴" - ─╧╙ IDENTIFIER.
167-170 160..... ╙HIFTED SPACES.
171-255 0....... ╒NUSED FOR ╙╙ DISKS BUT MAY CONTAIN OTHER VALUES.
221-255 ........ ┬LOCKS FREE FOR TRACKS 36-70 (─╙ DISKS ONLY.)
╙INCE THE ┬┴═ IN TRACK 18, SECTOR 0 CAN ONLY HOLD THE BLOCK MAP OF TRACKS
1-35, DOUBLE-SIDED DISKS MAKE USE OF SECTOR 0 ON TRACK 53 TO STORE A SECOND
┬┴═ FOR TRACKS 36-70.
╘HE NEXT TRACK AND SECTOR THAT WE NEED TO SEE IS 18,1 (FROM NOW ON, THIS IS
HOW WE'LL DENOTE TRACK AND SECTOR NUMBERS.) ╘HERE ARE TWO WAYS TO VIEW THAT
TRACK AND SECTOR. ╫E COULD USE THE "╙" (DIFFERENT SECTOR) COMMAND (THIS
COMMAND IS "┬" FOR "BLOCK" ON SOME ─╔╙╦ ─╧├╘╧╥ VERSIONS) AND ENTER THE TRACK
AND SECTOR NUMBERS OF THE SECTOR WE WANT TO GO TO, ╧╥ SINCE IT IS THE NEXT
SECTOR IN OUR FILE WE CAN USE THE "╬" (NEXT SECTOR) COMMAND. ╨RESS "╬" NOW.
╘HIS IS THE FIRST SECTOR OF THE DISK'S DIRECTORY ENTRIES AND YOU SHOULD
RECOGNIZE THE NAMES OF SOME OF THE FILES ON THE DISK. ┴S ALWAYS, THE NEXT
TRACK AND SECTOR OF THIS FILE IS DEFINED BY BYTES #0 AND #1. ╔F THERE ARE
MORE THAN 8 FILES ON YOUR DISKETTE, BYTE #0 SHOULD HAVE A VALUE OF 18 AND BYTE
#1 WILL BE 4. ╘HE NEXT PART OF THE SECTOR IS DIVIDED INTO EIGHT DIFFERENT
SECTIONS THAT HOLD DATA ABOUT THE FIRST EIGHT FILES ON THE DISK:
╘RACK 18, ╙ECTOR 1 (─IRECTORY SECTOR)
-------------------------------------
┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
-------------------------------------------------------------
0,1..... 18,4.... ╘RACK & ╙ECTOR OF NEXT DIRECTORY SECTOR.
2-31............. ╞ILE ENTRY 1
34-63............ ╞ILE ENTRY 2
66-95............ ╞ILE ENTRY 3
98-127........... ╞ILE ENTRY 4
130-159.......... ╞ILE ENTRY 5
162-191.......... ╞ILE ENTRY 6
194-223.......... ╞ILE ENTRY 7
226-255.......... ╞ILE ENTRY 8
┘OU MAY NOTICE THAT EACH FILE ENTRY IS SEPARATED BY TWO BYTES WHICH ARE NOT
USED. ╘HE CHART THAT FOLLOWS SHOWS THE BREAKDOWN FOR A ╙╔╬╟╠┼ ╞╔╠┼ ENTRY
STARTING WITH THE FIRST BYTE OF THAT ENTRY. ╞OR EXAMPLE, BYTE #2 OF THE FIRST
FILE ENTRY IS ACTUALLY BYTE #4 OF THE SECTOR. ╘HIS IS HOW EACH FILE ENTRY IS
LAID OUT IN THIS AND ALL SUCCESSIVE DIRECTORY SECTORS:
╙INGLE ─IRECTORY ╞ILE ┼NTRY:
----------------------------
┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
------------------------------------------------------------
0................ ╞ILE TYPE AS FOLLOWS:
128....... ─┼╠-DELETED
129....... ╙┼╤-SEQUENTIAL
130....... ╨╥╟-PROGRAM
131....... ╒╙╥-USER
132....... ╥┼╠-RELATIVE
1,2.............. ╘RACK AND SECTOR OF WHERE FILE BEGINS.
3-18............. ╞ILE NAME "PADDED" WITH SHIFTED SPACES.
19-20............ ╥┼╠ ONLY-╘&╙ OF 1ST SIDE SECTOR BLOCK.
21............... ╥┼╠ ONLY-╥ECORD SIZE.
22-25............ ╒NUSED.
26,27............ ╘&╙ OF REPLACEMENT FILE-╙┴╓┼ W/╥┼╨╠┴├┼.
28,29............ # OF SECTORS IN FILE:LOW BYTE,HIGH BYTE.
╨AY ATTENTION TO BYTE #0 IN THE FILE ENTRY. ╘HIS BYTE DEFINES WHICH TYPE THE
FILE IS. ╔F THE BYTE IN THIS POSITION HAS A VALUE OF 130 THE DRIVE SEES THAT
FILE AS A PROGRAM OR "╨╥╟" FILE. ╔T'S NOT OFTEN THAT YOU SEE ─┼╠ FILES.
(╘HEY ARE FAIRLY UNDOCUMENTED BUT EXPERIMENTATION HAS SHOWN THAT YOU CAN ╧╨┼╬
AND READ THEM BUT IF YOU TRY TO WRITE THEM THEY TURN UP ON THE DIRECTORY AS
╙┼╤ FILES.)
╔'M SURE YOU'VE SEEN ╨╥╟ AND ╙┼╤ FILES. ┬UT WHAT ARE ╒╙╥ (USER) FILES? ╔'M
GLAD YOU ASKED! ╒╙╥ FILES ARE EXACTLY THE SAME AS ╙┼╤ (SEQUENTIAL) FILES
EXCEPT THAT THEY HAVE A DIFFERENT NAME. ╘HIS MAKES THEM STAND OUT WHEN YOU
LIST A DIRECTORY AND REMINDS YOU THAT YOU MAY HAVE DECIDED TO DO SOMETHING A
BIT DIFFERENT WITH THEM. ╧╨┼╬ING AND READING ╒╙╥ FILES REQUIRES THE SAME
SYNTAX AS SEQUENTIAL FILES EXCEPT THAT THE LETTER "╒" IS SUBSTITUTED FOR THE
"╙" IN THE ╧╨┼╬ COMMAND. ╫E ARE NOT GOING TO DISCUSS ╥┼╠ATIVE FILES HERE.
╘╚┴╘ SUBJECT STILL BAFFLES YOUR HUMBLE AUTHOR AND APPARENTLY SOME OF THE
├OMMODORE MANUAL WRITERS AS WELL!
═OVE YOUR CURSOR TO POSITION #2. ╘HIS IS THE FIRST BYTE (#0) OF THE FIRST
FILE ENTRY OF THE DIRECTORY. ╔TS VALUE TELLS YOU WHAT TYPE OF FILE IT IS AND
MOST LIKELY WILL BE 129 (SEQUENTIAL) OR 130 (PROGRAM.) ╘HE CHARACTERS THAT
╘HE ─╔╙╦ ─╧├╘╧╥ DISPLAYS FOR THESE VALUES WILL EITHER BE A REVERSED "A" OR
"B". ╘HE TWO BYTES DIRECTLY FOLLOWING THE FILE TYPE TELL YOU (AND THE DRIVE)
WHERE THE ACTUAL FILE IS. ╔N MOST CASES THE DISK DRIVE STORES THE FIRST FILE
AT 17,0 AND THESE ARE THE VALUES YOU MAY EXPECT HERE. ╔F YOU THINK YOU KNOW
HOW TO USE THE "╙" (NEW SECTOR) COMMAND WE'LL LEARN A NEW COMMAND. ╨LACE THE
CURSOR IN POSITION #3. ╬OW YOU CAN USE THE "╩" (JUMP TO LINK UNDER CURSOR)
COMMAND. ╘HIS CAUSES ╘HE ─╔╙╦ ─╧├╘╧╥ TO SEARCH FOR AND DISPLAY THE TRACK AND
SECTOR THAT THE CURSOR IS INDICATING. ╔F YOU DON'T HAVE THE CURSOR PLACED
CORRECTLY, YOU WILL PROBABLY BE SPECIFYING AN ILLEGAL SECTOR AND ╘HE ─╔╙╦
─╧├╘╧╥ WILL TELL YOU. ╔F THIS HAS HAPPENED, YOU CAN JUST INPUT NEW TRACK AND
SECTOR NUMBERS...GO BACK TO 18,1 AND TRY IT AGAIN.
╙INCE IT IS VERY LIKELY THAT YOU ARE NOW LOOKING AT 17,0 AND IT IS ALSO A
PROGRAM FILE WE'LL COVER THAT NEXT. ┬UT BEFORE WE LOOK AT THE FILE, HIT THE
"+" KEY. ╘HIS COMMAND TELLS ╘HE ─╔╙╦ ─╧├╘╧╥ TO GO TO THE NEXT SECTOR ON THE
CURRENT TRACK, ╬╧╘ THE NEXT SECTOR IN THE FILE. ┘OU WILL BE LOOKING AT 17,1
NOW. ╔T MAY NOT EVEN CONTAIN ANY DATA FROM THE FILE YOU JUST LEFT. ╘O GET
BACK TO 17,0 JUST HIT THE "-" KEY WHICH DOES JUST THE OPPOSITE OF THE "+"
COMMAND.
┘OU MIGHT BE SAYING TO YOURSELF, "╚EY, THIS DOESN'T LOOK LIKE A PROGRAM!
╫HERE ARE THE ╨╥╔╬╘S, ╨╧╦┼S, ╨┼┼╦S AND ╥┼═S?". ╫ELL, THEY ARE ALL STILL THERE
BUT HAVE BEEN "TOKENIZED" INTO ONE OR TWO BYTE VALUES. ┘OUR ├OMMODORE
COMPUTER STORES THE ┬┴╙╔├ KEYWORDS IN THIS MANNER TO SAVE MEMORY AND SPEED
EXECUTION. ╫HEN YOU ╠╔╙╘, THE COMPUTER TRANSLATES THESE TOKENS FOR YOU SO IT
IS EASIER TO READ BUT ALL ┬┴╙╔├ KEYWORDS AND SOME OPERATORS ARE STORED USING
ONLY ONE OR TWO BYTES.
┴T THIS POINT, YOU MAY WANT TO LOOK AT A ┬┴╙╔├ PROGRAM THAT YOU ARE FAMILIAR
WITH, PERHAPS ONE THAT YOU HAVE WRITTEN YOURSELF. ╒SE THE "╤" (QUIT) COMMAND
AND REMOVE YOUR DISKETTE. ┬ECAUSE WE WILL ACTUALLY BE RE-WRITING INFORMATION
TO YOUR DISKETTE, YOU WILL WANT TO USE A SPARE THAT IS EXPENDABLE. ╔N FACT,
YOU SHOULD SIMPLY MAKE A BACK-UP COPY OF A DISK YOU USE ALL THE TIME SO THINGS
LOOK FAMILIAR.
╧NCE THE PRACTICE DISKETTE IS IN THE DRIVE, HIT ANY KEY. ╞IND THE PROGRAM YOU
WANT TO LOOK AT BY STARTING WITH TRACK 18 AND SECTOR 1 (THE DIRECTORY.) ╒SE
THE "╬" COMMAND TO ADVANCE TO SUBSEQUENT SECTORS IN THE DIRECTORY UNTIL YOU
SEE YOUR PROGRAM. ╨OSITION YOUR CURSOR AT BYTE #1 (THE SECOND BYTE) OF THE
╞╔╠┼ ┼╬╘╥┘ FOR THAT FILE (TWO BYTES DIRECTLY BEFORE THE PROGRAM NAME IS WHERE
YOU WANT TO BE.) ╘HE "╩" COMMAND SHOULD TAKE YOU TO THE FIRST TRACK AND
SECTOR WHERE YOUR PROGRAM IS LOCATED.
╔F YOU NOW SEE SOMETHING THAT VAGUELY RESEMBLES THE PROGRAM YOU WERE LOOKING
FOR, GREAT! ╨RESS THE ╚╧═┼ KEY AND WE'LL TAKE A LOOK AT YOUR PROGRAM.
╨ROGRAM FILES ARE FORMATTED LIKE THIS:
╨ROGRAM (╨╥╟) FILE FORMAT:
--------------------------
┬┘╘┼ ─┼╞╔╬╔╘╔╧╬
-------------------------------------------------------------
0,1.............. ╘&╙ OF NEXT SECTOR OF PROGRAM.
2,3.............. ╠OAD ADDRESS IN LOW BYTE, HIGH BYTE
FORMAT (ONLY ON FIRST SECTOR OF FILE.)
├-64 IS USUALLY 1,8 OR 1+(8*256)=2049
4,5.............. ╠OW BYTE, HIGH BYTE NUMBER IDENTIFYING
THE ADDRESS OF THE NEXT ┬┴╙╔├ LINE.
6,7.............. ╞IRST ┬┴╙╔├ LINE NUMBER IN ╠┬,╚┬
8-255............ ╥EST OF DATA WITH KEYWORDS TOKENIZED.
╘HREE ZERO BYTES MARK THE END OF A
PROGRAM AND USUALLY THE FILE AS WELL.
┴S USUAL, THE FIRST TWO BYTES CONTAIN THE TRACK AND SECTOR OF THE NEXT SECTOR
OF DATA. ╘HE NEXT TWO BYTES MAY SEEM A BIT UNUSUAL TO YOU AND YOU MIGHT WANT
TO GET OUT A CALCULATOR 'CAUSE AS MUCH AS ╔ HATE TO SAY IT, WE'RE GOING TO DO
SOME (YES THAT DREADED WORD) ═┴╘╚. ╞OR SOME REASON, COMPUTERS OFTEN STORE
NUMBERS A LITTLE BACKWARDS (AS FAR AS HUMANS ARE CONCERNED.) ╘HE CLASSIC CASE
IS WHEN NUMBERS ARE EXPRESSED IN THE ╠╧╫ ┬┘╘┼, ╚╔╟╚ ┬┘╘┼ FORMAT. ╙INCE EACH
BYTE CAN ONLY STORE VALUES 0-255 (256 UNIQUE VALUES TOTAL), IF YOU NEED TO
EXPRESS A LARGER NUMBER, YOU MUST USE MORE THAN JUST ONE BYTE. ╘WO BYTES WORK
WELL BECAUSE YOU CAN EXPRESS UP TO 65536 (OR 256*256) DIFFERENT VALUES. ┬UT
THIS IS WHERE THE COMPUTER GOES BACKWARDS. ╘O FIND THE NUMBER SPECIFIED IN
THE LOW BYTE, HIGH BYTE FORMAT, YOU MULTIPLY THE ╙┼├╧╬─ VALUE IN THE PAIR BY
256 THEN ADD THAT RESULT TO THE ╞╔╥╙╘ VALUE. ╬OW HOW IS THAT? ╚ERE'S AN
EQUATION:
╪ = (╓┴╠╒┼2 * 256) + ╓┴╠╒┼1
╔F YOU'RE A BIT UNEASY ABOUT THIS, DON'T WORRY, YOU ARE NOT ALONE. ╫HENEVER
WE TALK ABOUT "LOW BYTE, HIGH BYTE" NUMBERS, JUST USE THIS EQUATION AND YOU'LL
BE OKAY.
┬YTES #2 AND #3 IN THE FIRST SECTOR OF A PROGRAM FILE ALWAYS CONTAIN THE "LOAD
ADDRESS" OF THE PROGRAM. ╘HIS TELLS THE COMPUTER WHERE IN THE COMPUTER'S
MEMORY TO PUT THE PROGRAM. ╔F YOU ARE LOOKING AT A NORMAL ┬┴╙╔├ PROGRAM THIS
LOW BYTE, HIGH BYTE NUMBER SHOULD EQUAL THE "START OF ┬┴╙╔├" LOCATION OF YOUR
COMPUTER (THE ACTUAL START OF ┬┴╙╔├ ON ├OMMODORE MACHINES IS ONE LOCATION
LOWER THAN THE VALUES SHOWN, BUT SINCE THAT BYTE ALWAYS CONTAINS A ZERO VALUE
WE DO NOT CONSIDER IT HERE.) ╘HE FOLLOWING TABLE SHOWS THE START OF ┬┴╙╔├
LOCATIONS FOR ├OMMODORE MACHINES IN DECIMAL AND LOW BYTE, HIGH BYTE VALUES:
╙╘┴╥╘ ╧╞ ┬┴╙╔├ ═┴├╚╔╬┼
DECIMAL LB/HB
-------------------------------------------------------
2049... 1,8...... ├OMMODORE-64
7169... 1,28..... ├OMMODORE-128 (NORMAL)
16385... 1,64..... ├OMMODORE-128 (IN GRAPHIC MODE)
4097... 1,16..... ╓╔├-20 - UNEXPANDED
1025... 1,4...... ╓╔├-20 - 3╦ EXPANSION
4609... 1,18..... ╓╔├-20 - 8╦ OR MORE EXPANSION
1025... 1,4...... ╨┼╘/├┬═ SERIES.
╔F YOU OWN AN UNEXPANDED ╓╔├-20 THE BYTES IN POSITIONS #2 AND #3 SHOULD
CONTAIN A 1 AND 16 RESPECTIVELY...1+(16*256)=4097. ╘HE START OF ├-128 ┬┴╙╔├
WILL VARY DEPENDING ON WHETHER THE PROGRAM WAS SAVED WHILE IN HI-RES GRAPHIC
MODE OR NOT. ╔N ALL CASES, THE LOAD ADDRESS APPEARS ONLY ON THE FIRST
SECTOR/BLOCK OF THE FILE.
╘HE NEXT TWO BYTES (#4 AND #5) IN A ┬┴╙╔├ PROGRAM FILE CONTAIN THE MEMORY
LOCATION WHERE THE NEXT (NOT THE FIRST) ┬┴╙╔├ LINE IS STORED IN MEMORY. ┴FTER
THAT, #6 AND #7 CONTAIN THE FIRST ┬┴╙╔├ LINE NUMBER (AGAIN IN ╠┬, ╚┬.)
╧UR ACTUAL PROGRAM TEXT BEGINS AT BYTE #8. ╘HE VALUE STORED THERE WILL MORE
THAN LIKELY BE A ┬┴╙╔├ KEYWORD WHICH HAS BEEN "TOKENIZED". ╥EMEMBER THAT
┬┴╙╔├ REDUCES ALL OF ITS KEYWORDS TO ONE OR TWO BYTE TOKENS. ┘OU MAY HAVE A
HARD TIME FIGURING OUT WHAT KEYWORD A REVERSED "Y" STANDS FOR. ╬EWER ├-64 AND
├-128 VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ DISPLAY THE ┬┴╙╔├ KEYWORD CORRESPONDING THE
TOKEN OR TOKEN PAIR UNDER THE CURSOR. ╔F YOU ARE USING A SIMPLER VERSION, YOU
MAY WANT TO LOOK IN YOUR COMPUTER'S PROGRAMMER'S REFERENCE GUIDE FOR A CHART
OF WHICH KEYWORDS ARE REPRESENTED BY WHICH TOKEN VALUES. ┴CTUALLY, A REVERSED
"Y" HAS A VALUE OF 153 AND IS THE TOKEN FOR THE ┬┴╙╔├ KEYWORD ╨╥╔╬╘. ┘OU
MIGHT SEE A REVERSED "O" (VALUE-143) NEAR THE BEGINNING OF YOUR PROGRAM. ╘HIS
IS THE TOKEN FOR ╥┼═.
╙OME OTHER CHARACTERS WHICH ARE NOT ┬┴╙╔├ TOKENS MAY SHOW UP AS WELL. ┴ COLOR
COMMAND, SUCH AS 'SWITCH TO BLACK' WITHIN A ╨╥╔╬╘ STATEMENT WILL PRODUCE A
REVERSED "P" AND HAS A VALUE OF 144, BUT THAT IS THE SAME CHARACTER/TOKEN
VALUE USED FOR THE ╙╘╧╨ KEYWORD. ╚OW DOES THE COMPUTER KNOW THAT IT MEANS
'SWITCH TO BLACK' AND NOT ╙╘╧╨? ┬ECAUSE IT IS IN QUOTES. ┴NYTHING AFTER AN
╧── ╬╒═┬┼╥ OF QUOTES IS NOT CONSIDERED AS A ┬┴╙╔├ KEYWORD, BUT AS TEXT OR
SPECIAL ╨╥╔╬╘ COMMANDS BY THE COMPUTER. ┴NY VALUE NOT IN THE COMPUTER'S LIST
FOR KEYWORDS IS ALSO NOT CONSIDERED.
╫HILE VIEWING A PROGRAM FILE YOU WILL SURELY SEE A NUMBER OF BYTES WHICH
CONTAIN ZERO VALUES (DISPLAYED AS "@"'S.) ╘HE END OF EVERY ┬┴╙╔├ LINE IS
DESIGNATED BY A ZERO BYTE. ╔F YOU SEE THREE ZERO BYTES IN A ROW, THAT TELLS
THE COMPUTER WHERE THE END OF THE ┬┴╙╔├ PROGRAM IS LOCATED.
╨RESS THE "╬" KEY UNTIL YOU FIND THE END OF THE FILE. ╔T SHOULD BE EASY TO
SPOT BECAUSE BYTE #0 OF THE SECTOR WILL HAVE A VALUE OF ZERO (REMEMBER THIS IS
THE POINTER TO THE NEXT TRACK, AND SINCE THERE IS NO NEXT TRACK...OH, YOU GET
THE IDEA.) ┬UT TAKE A GLANCE AT BYTE #1. ╘HIS IS NOW THE POINTER TO THE
POSITION OF THE ╠┴╙╘ ┬┘╘┼ IN THIS SECTOR. ╘HIS IS THE SAME METHOD USED IN ALL
FILE TYPES TO SPECIFY THE LAST BYTE IN THE LAST SECTOR.
╘HE NEXT TWO FILE TYPES THAT WE WILL LOOK AT ARE REALLY EASY! ╙EQUENTIAL AND
╒SER FILES, WHICH SHARE IDENTICAL FORMATS, ARE VERY STRAIGHTFORWARD. ╔F YOU
HAVE ANY ╙┼╤ FILES ON YOUR DISK, TAKE A LOOK AT ONE NOW. ╒NLESS THE
PROGRAMMER WAS DOING TRICKY THINGS, YOU SHOULD BE ABLE TO READ ALL THE
INFORMATION FROM THE FILE JUST WITH ╘HE ─╔╙╦ ─╧├╘╧╥. ╘HE ONLY "WEIRD"
CHARACTERS THAT YOU SHOULD COME ACROSS ARE THE "SEPARATORS" WHICH ARE USUALLY
NOTHING BUT CARRIAGE RETURNS--├╚╥$(13). ╘HESE ARE DISPLAYED AS LOWER-CASE
"M"'S AND SEPARATE THE DATA.
╙EQUENTIAL (╙┼╤) OR ╒SER (╒╙╥) FILE FORMAT:
-------------------------------------------
┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
-----------------------------------------------------------
0,1.............. ╘&╙ OF NEXT DATA SECTOR.
2-256............ ─ATA STORAGE. ╘EXT AND NUMERIC VALUES
USUALLY SEPARATED BY ├╚╥$(13)
(DISPLAYED AS "M".)
╘HE TIME HAS COME TO LOOK AT SOME OF THE MORE POWERFUL THINGS THAT ╘HE ─╔╙╦
─╧├╘╧╥ LETS YOU DO. ╒P UNTIL NOW, ALL WE'VE REALLY DONE IS ╓╔┼╫┼─ THE
DISKETTE. ╠ET'S TAKE A STAB AT ALTERING IT. ╧NCE AGAIN, ╔'D LIKE TO REMIND
YOU TO MAKE SURE THAT THE DISKETTE YOU ARE WORKING WITH IS A COPY OF ANOTHER
ONE OF YOUR DISKETTES OR CONTAINS NOTHING OF ANY VALUE TO YOU. ╫E WON'T
PHYSICALLY HARM THE DISKETTE OR DRIVE IN ANY WAY, BUT IF AN ERROR IS MADE IT
COULD REALLY FOUL SOME OF YOUR FILES!
╘HE ─╔╙╦ ─╧├╘╧╥ IS A LITTLE LIKE A WORD PROCESSOR; YOU CAN ACTUALLY TYPE RIGHT
ONTO THE SCREEN BY USING THE "╘" (TEXT MODE) COMMAND. ┴FTER PRESSING "╘"
EVERYTHING YOU TYPE WILL APPEAR ON ╘HE ─╔╙╦ ─╧├╘╧╥'S SCREEN AND LATER MAY BE
WRITTEN RIGHT TO THE DISKETTE. ╨RESSING ╥┼╘╒╥╬ ENDS TEXT MODE.
╙INCE YOU CANNOT TYPE SOME CHARACTERS OR VALUES DIRECTLY FROM THE KEYBOARD OR
YOU SIMPLY MAY WANT TO ASSIGN A CERTAIN VALUE TO A CERTAIN BYTE, YOU MAY USE
THE "@" (CHANGE BYTE) COMMAND. ╚IT THE "@" KEY AND YOU MAY ENTER ANY NUMBER
FROM 0-255 AND THAT VALUE WILL BE ASSIGNED TO THE CURRENT BYTE WHEN YOU PRESS
╥┼╘╒╥╬. ╬EWER VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ WILL LET YOU ENTER ╚┼╪ VALUES IF
YOU PRECEDE THE NUMBER WITH A "$" (DOLLAR SIGN.)
├ALL UP ANY SECTOR (STAY OUT OF THE DIRECTORY FOR NOW) ON YOUR PRACTICE
DISKETTE AND TRY OUT THE THE CHANGING FEATURES FOR YOURSELF. ┴NY CHANGES YOU
MAKE AT THIS POINT ARE ╬╧╘ ACTUALLY MADE TO THE DISKETTE. ┘OU ═╒╙╘ ISSUE THE
"╥" (REWRITE CURRENT SECTOR) COMMAND FOR THE INFORMATION TO BE PLACED IN THAT
SECTOR OF THE DISKETTE. ┬ECAUSE YOU MAY NOT WISH TO CHANGE THE SECTOR, YOU
WILL BE PROMPTED WITH "┴RE YOU SURE?" WHENEVER YOU USE THE "╥" COMMAND. ╟O
AHEAD AND REWRITE THE SECTOR YOU ARE WORKING WITH. ╥EMEMBER THE TRACK AND
SECTOR NUMBERS SO THAT YOU CAN CALL IT UP LATER TO SEE THAT THE CHANGES WERE
ACTUALLY MADE.
╬OW WE ARE GOING TO LOOK AT SOME USEFUL THINGS THAT YOU AND ╘HE ─╔╙╦ ─╧├╘╧╥
CAN ACCOMPLISH. ├ALL UP TRACK 18, SECTOR 0. ╫ANT TO CHANGE THE NAME OF YOUR
DISKETTE? ╙IMPLY MOVE THE CURSOR TO POSITION #144 , PRESS "╘" FOR TEXT MODE,
TYPE THE NEW NAME (LESS THAN 16 CHARACTERS), PRESS ╥┼╘╒╥╬ AND THEN "╥" TO
REWRITE THE SECTOR. ┴NSWER "┘" (FOR "YES") WHEN THE PROGRAM ASKS, "┴RE ┘OU
╙URE?". ─ONE! ╠OAD THE DIRECTORY BY TYPING- ╠╧┴─"$",8 -THEN ╠╔╙╘ AND SEE FOR
YOURSELF THAT THE DISK NOW HAS A NEW NAME!
╘RY CHANGING THE NAME OF THE DISKETTE TO INCLUDE NOT JUST TEXT WHICH YOU'VE
TYPED IN, BUT A FEW DIFFERENT VALUES THAT YOU CAN CREATE WITH THE "@" COMMAND.
IF YOU MAKE THE FIRST TWO BYTES OF THE NAME FIELD 13 AND 147 FOLLOWED BY TEXT,
WHENEVER YOU ╠╔╙╘ THE DIRECTORY, THE SCREEN WILL CLEAR FIRST...AUTOMATICALLY!
╫HEN YOU ╠╧┴─ THE DIRECTORY OF YOUR DISKETTE, THE DRIVE SENDS THE DATA TO THE
COMPUTER IN SOMEWHAT THE SAME FORMAT AS A ┬┴╙╔├ PROGRAM. ╘HIS IS WHY YOU CAN
╠╔╙╘ IT. ╔F THE DISK NAME CONTAINS ANY VALUE THAT CORRESPONDS TO A ┬┴╙╔├
KEYWORD, THE DISKETTE NAME WILL DISPLAY THAT KEYWORD. ╘HIS WOULD ALLOW YOU TO
HAVE DISK NAMES WHICH EXCEED THE STANDARD 16 CHARACTER LIMIT. ╞OR EXAMPLE TRY
THIS DISK NAME (THE NUMBERS STAND FOR ┬┘╘┼ ╓┴╠╒┼╙, USE THE "@" COMMAND TO
ENTER THEM. ─ON'T FORGET THE "╥" COMMAND TO PUT YOUR CHANGES ON THE
DISKETTE.)
╨╧╙╔╘╔╧╬: 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
╓┴╠╒┼: 34 140 32 162 32 184 69 68 79 77 32 164 32 65 76 76
╘HE NEW DISK NAME BECOMES, "╥┼╙╘╧╥┼ ╬┼╫ ╞╥┼┼─╧═ ╘╧ ┴╠╠", A FULL 26 CHARACTERS!
┘OU HAVE PROBABLY FIGURED OUT THAT SOME OF THE VALUES YOU ENTERED ARE THE
CODES FOR ┬┴╙╔├ KEYWORDS. ┘OU CAN PREVENT THE DIRECTORY FROM ╠╔╙╘ING ENTIRELY
BY ENTERING ALL ZERO VALUES IN THE DISK NAME.
┬YTES #162-#166 CAN ALSO BE ALTERED TO DISPLAY DIFFERENT THINGS WHEN YOU ╠╔╙╘
A DIRECTORY. ╙TART WITH POSITION #162 AND ENTER THIS SEQUENCE OF VALUES WITH
THE "@" COMMAND:
╨╧╙╔╘╔╧╬: 162 163 164 165 167 ╧╥ ╨╧╙╔╘╔╧╬: 162 163 164 165 167
╓┴╠╒┼: 137 73 136 44 138 ╓┴╠╒┼: 194 65 66 79 79
╘O SEE HOW THIS WORKS YOU MUST ACTUALLY ╠╧┴─ THE DIRECTORY. ╒SING THE ─╧╙
╫┼─╟┼ "@$" COMMAND WON'T SHOW THESE "TOKEN BYTE" EFFECTS SINCE THE ╫┼─╟┼ DOES
NOT TREAT THE THE DIRECTORY STRICTLY AS A ┬┴╙╔├ PROGRAM.
┬YTES #171-#220 ARE COMPLETELY UNUSED BY THE DRIVE, SO YOU CAN PUT ANYTHING
YOU WANT THERE SUCH AS YOUR NAME AND ADDRESS OR A SECRET MESSAGE. ╘HIS SPACE
MAY BE RE-WRITTEN BY THE DRIVE ON OCCASION, SO DON'T PUT ANYTHING IMPORTANT
HERE.
┘OU CAN "WRITE PROTECT" YOUR DISKETTES BY SIMPLY CHANGING THE BYTE IN POSITION
#2 OF 18,0. ╘HE VALUE OF THAT BYTE IS NORMALLY 65 (DISPLAYED AS AN "┴"), BUT
IF YOU CHANGE IT TO ANYTHING ELSE, YOUR DRIVE WILL REFUSE TO WRITE TO THE
DISKETTE UNTIL YOU ╬┼╫ OR ╚┼┴─┼╥ (REFORMAT) IT WHICH, OF COURSE, DESTROYS ALL
THE DATA. ╧NCE YOU CHANGE THIS BYTE DON'T EXPECT TO CHANGE IT BACK (OR
ANYTHING ELSE ON THE DISKETTE FOR THAT MATTER.) ╘HE CHANGE IS PERMANENT.
╒SE THE "╬" COMMAND TO GO TO THE FIRST DIRECTORY SECTOR. ╘HE MOST USEFUL
BYTES IN THIS SECTOR (AND SUBSEQUENT DIRECTORY SECTORS) ARE THE "FILE TYPE"
BYTES WHICH ARE THE FIRST BYTE OF EVERY FILE ENTRY. ┴S YOU MAY RECALL, THIS
BYTE IDENTIFIES THE TYPE OF FILE THAT THE ENTRY IS. ╙OME WORD PROCESSORS WILL
ONLY READ A CERTAIN TYPE OF FILE. ╔F YOU WANT TO READ A ╨╥╟ FILE AND YOUR
PROGRAM WILL ONLY ACCEPT ╙┼╤ FILES, SIMPLY CHANGE THE FILE TYPE. ╫ITH ╘HE
─╔╙╦ ─╧├╘╧╥ YOU CAN CHANGE ╙┼╤ FILES TO ╨╥╟ FILES OR CHANGE ANY OTHER TYPE TO
ANY TYPE YOU WANT.
╫HEN A FILE IS SCRATCHED THE FILE TYPE BYTE IS CHANGED BY THE DRIVE TO ZERO.
╔F YOU HAVE JUST ACCIDENTALLY SCRATCHED A FILE YOU DO NOT WANT SCRATCHED, IT
IS SIMPLE TO RESCUE IT WITH ╘HE ─╔╙╦ ─╧├╘╧╥ AS LONG AS NO NEW FILES HAVE BEEN
WRITTEN TO THE DISKETTE. ┴LL THAT NEEDS TO BE DONE IS TO CHANGE THE FILE TYPE
BYTE FROM ZERO TO WHATEVER VALUE THE FILE SHOULD BE WITH THE "@" COMMAND (I.E.
130 FOR A PROGRAM FILE, 129 FOR A SEQUENTIAL FILE.) ┘OU MUST ╓┴╠╔─┴╘┼ OR
├╧╠╠┼├╘ THE DISKETTE AFTER THIS OPERATION SO THE ┬┴═ WILL BE UPDATED. ╘╚╔╙
╔╙ ╓┼╥┘ ╔═╨╧╥╘┴╬╘! ╘HE ┬┴═ STILL THINKS THE FILE HAS BEEN SCRATCHED AND THAT
THOSE SECTORS ARE FREE AND WILL REWRITE THEM WITH ANY NEW FILE.
╔T IS POSSIBLE TO AVOID THE ABOVE PROBLEM BY "SCRATCH PROTECTING" SELECTED
FILES ON THE DISKETTE. ╔F YOU CHANGE THE VALUE STORED IN THE FILE TYPE BYTE,
TO THAT VALUE PLUS 64, THE DRIVE WILL REFUSE TO SCRATCH THAT FILE. ╞OR
EXAMPLE, IF THE FILE IS A ╨╥╟ (VALUE:130), CHANGE THE BYTE TO 194 (130+64) TO
PROTECT IT. ╘HIS IS A VERY NICE FEATURE ESPECIALLY IF YOU EVER USE "PATTERN
MATCHING" IN YOUR SCRATCH COMMANDS. ╙CRATCH PROTECTED FILES ARE EASY TO SPOT
WHEN YOU ╠╔╙╘ THE DIRECTORY (OR USE THE ─╧╙ "@$" COMMAND), A "<" (LESS THAN)
SYMBOL WILL BE DISPLAYED DIRECTLY TO THE RIGHT OF THE FILE TYPE. ╬OTE THAT
THIS FEATURE IS NOT USABLE WITH DOUBLE-SIDED DISKS--THE 1571 NOT ONLY WILL
REFUSE TO SCRATCH A "PROTECTED" FILE, IT WON'T ╠╧┴─ IT EITHER (WHILE IN
DOUBLE-SIDED MODE.)
╙OME OF YOU MAY HAVE HEARD THAT THERE IS A PROBLEM WITH THE ├OMMODORE 1541 AND
1571 ╙┴╓┼ AND ╥┼╨╠┴├┼ COMMAND. ╘HE PROBLEM IS THAT OCCASIONALLY THE FILE
POINTERS (BYTES #1 AND #2 OF THE FILE ENTRY) ARE NOT PROPERLY WRITTEN. ╘HE
RESULT IS THAT YOU TRY TO ╠╧┴─ "MAIL LIST" BUT "MUTANT ALIENS" SHOWS UP IN
YOUR COMPUTER. ╔T IS POSSIBLE WITH ╘HE ─╔╙╦ ─╧├╘╧╥ TO CURE THIS PROBLEM BY
SEARCHING THROUGH THE DISKETTE FOR THE ORIGINAL FILE (WHICH IS EASIER SAID
THAN DONE), NOTING THE TRACK AND SECTOR OF WHERE IT STARTS, AND REWRITING THE
POINTERS IN THE FILE ENTRY. ╧FTEN, IT IS TOO LATE AND OTHER DATA HAS BEEN
WRITTEN INTO THE OLD SECTORS. ╔F YOU DO SUCCESSFULLY REWRITE THE POINTERS YOU
SHOULD RE╙┴╓┼ THE FILE SOMEWHERE ELSE SO THAT ┴╠╠ THE DATA IS PUT WHERE THE
DISK DRIVE WANTS IT. ┴GAIN, IT IS RECOMMENDED THAT YOU PERFORM A VALIDATE
OPERATION TO UPDATE THE ┬┴═ SHOULD YOU SUCCESSFULLY REWRITE THE POINTERS.
╔F YOU WANT TO TEMPORARILY PROTECT FILES ON YOUR DISKETTE FROM BEING ╠╧┴─ED,
VIEWED OR OTHERWISE TAMPERED WITH, YOU CAN CHANGE BYTE #0 OF TRACK AND SECTOR
18,1 TO A VALUE OF ZERO. ╘HE DRIVE WILL THINK THAT THE DIRECTORY IS ONLY ONE
SECTOR LONG AND WILL REFUSE ACCESS TO ANY FILES BEYOND THE FIRST EIGHT. ╘HE
FILES YOU WANT PROTECTED SHOULD NOT APPEAR IN THE FIRST DIRECTORY SECTOR.
╥EMEMBER THAT EVEN ┘╧╒ WILL NOT BE ABLE TO GET TO THE FILE UNTIL BYTE #0 OF
18,0 IS CHANGED BACK TO 18. ─O NOT PERFORM A ╓┴╠╔─┴╘┼ COMMAND AS THE ┬┴═ WILL
THINK THAT ALL THE PROTECTED FILES DO NOT EXIST. ┴LSO, DON'T ╙┴╓┼ ANY NEW
FILES AS THE REST OF YOUR DIRECTORY MIGHT BE DESTROYED.
┴NOTHER METHOD OF PROTECTING FILES FROM BEING ╠╧┴─ED IS TO CHANGE THE NAME OF
THE FILE TO A SERIES OF ├╚╥$ CODES WHICH CANNOT NORMALLY BE TYPED IN FROM THE
KEYBOARD. ╧NE EXAMPLE WOULD BE TO CHANGE THE FILE NAME TO A CARRIAGE RETURN
(VALUE: 13) BY USING THE "@" COMMAND. ╫HEN ┘╧╒ WANT TO ╠╧┴─ THE FILE, JUST
TYPE ╠╧┴─├╚╥$(13),8 (OR ANY OTHER VALUE NOT EASY TO TYPE FROM THE KEYBOARD.)
╘AKE A LOOK AT BYTES #28 AND 29 OF A ╙╔╬╟╠┼ DIRECTORY ENTRY (REMEMBER THE FILE
TYPE BYTE IS #0.) ╘HIS IS WHERE THE DISK DRIVE STORES THE NUMBER OF SECTORS
THAT THE FILE OCCUPIES IN ╠┬,╚┬ FORMAT. ╙INCE ONE RARELY SEES A FILE THAT
TAKES UP MORE THAN 255 SECTORS, BYTE #29 WILL PROBABLY CONTAIN A VALUE OF
ZERO. ┬Y ALTERING THESE TWO VALUES YOU CAN MAKE SOME PRETTY ODD FILE SIZES
SHOW UP WHEN SOMEONE VIEWS THE DIRECTORY. ├HANGING BOTH BYTES TO ZERO VALUES
WILL MAKE IT SEEM THAT THE FILE OCCUPIES ZERO SECTORS. ╟IVE BYTE #28 A VALUE
OF 15 AND BYTE #29 A VALUE OF 39 AND THAT FILE WILL BE DISPLAYED AS HAVING
9999 SECTORS IN IT!
├HANGING THE DATA STORED IN ACTUAL FILES IS A FAIRLY STRAIGHTFORWARD
OPERATION. ╙OME ┬┴╙╔├ PROGRAMS ARE "COMPACTED" WHICH MAKES EDITING SOME LINES
IMPOSSIBLE WITH THE ├OMMODORE SCREEN EDITOR. ╫ITH ╘HE ─╔╙╦ ─╧├╘╧╥ YOU CAN
CHANGE THE LINE RIGHT ON THE DISKETTE WITHOUT EVER ╠╧┴─ING THE PROGRAM INTO
MEMORY. ╔N FACT, IF YOU HAVE THE ORIGINAL ─╔╙╦ ─╧├╘╧╥ PROGRAM, YOU KNOW THAT
COMPANY WHO RELEASED IT INTO THE PUBLIC DOMAIN MADE IT VERY HARD TO ALTER AND
BUILT ADVERTISING INTO IT. ┘OU CAN USE ╘HE ─╔╙╦ ─╧├╘╧╥ TO ERASE ALL THAT
ADVERTISING AND MAY EVEN BE ABLE TO DELETE THE OFFENDING LINES.
╔F YOU HAVE A FAVORITE MACHINE LANGUAGE UTILITY OR GAME, IT MAY BE FUN TO
CHANGE ITS PROMPTS OR TEXT. ╟ENERALLY YOU HAVE TO HAVE A FAIRLY GOOD
KNOWLEDGE OF HOW TO USE A MACHINE LANGUAGE MONITOR TO DO THIS BUT IT IS SIMPLE
WHEN YOU HAVE ╘HE ─╔╙╦ ─╧├╘╧╥. ╩UST GO THROUGH THE FILE AND CHANGE THE TEXT
TO ANYTHING YOU WANT. ╔T IS USUALLY IMPORTANT TO KEEP THE TEXT THE SAME
LENGTH AS THE ORIGINAL. ╔MAGINE SOMETHING LIKE "╩UMPMAN" IN ╙PANISH OR
╞RENCH!
╔ HAVE ONLY TOUCHED ON A FEW POSSIBLE USES FOR ╘HE ─╔╙╦ ─╧├╘╧╥. ┴FTER YOU
HAVE WORKED WITH IT FOR SOME TIME, ╔'M SURE YOU'LL FIND MANY MORE.